package com.haierCamera.customapplication.di;

import com.haierCamera.customapplication.CustomApplication;

import javax.inject.Singleton;

import dagger.BindsInstance;
import dagger.Component;
import dagger.android.AndroidInjectionModule;
import dagger.android.AndroidInjector;
import dagger.android.support.AndroidSupportInjectionModule;

/**
 * @author yawei
 * @data on 2018/7/10 下午1:24
 * @email zyawei@live.com
 */
@Singleton
@Component(modules = {
        AppModule.class,
        AndroidInjectionModule.class,
        AndroidSupportInjectionModule.class,
        ActivityModule.class,
        ViewModelModule.class,
        FragmentModule.class})
public interface AppComponent extends AndroidInjector<CustomApplication> {

    @Component.Builder
    interface Builder {
        @BindsInstance
        Builder application(CustomApplication application);

        AppComponent build();
    }
}
